A three-dimensional (3D) model may be developed by acquiring a 3D image of an object using a 3D scanning technology such as, for example, light detection and ranging (LiDAR). The 3D image generated provides a point cloud that is a collection of points in a 3D coordinate system. Each point in the point cloud represents XYZ coordinates within the 3D coordinate system. Typically, the points within the point cloud represent the location of points on an exterior surface of the object and define a 3D model of the object. The 3D model may be used in performing an operation on the object, for instance, by a robot or other device. However, the 3D model represented by the point cloud often suffers from insufficient features on objects or feature detection discrepancy among images because of illumination changes. Such conditions may be particularly present with objects, such as satellites or other spacecraft, in space where illumination levels of the object may vary widely from one viewpoint to another. This results in incomplete 3D models with holes or missing information or data on surfaces. Accordingly, there is a need to fill-in as many holes as possible and generate a denser or more complete 3D model that is usable for performing an operation with respect to the object or for performing an operation on the object.